1. Technical Field of the Invention
This invention pertains to communications systems. In particular, this invention provides for communications selectively through a path including several protocol layers when sending control information and through a path avoiding one or more such layers when sending data.
2. Background Art
The Advanced Program-to-Program Communication (APPC), used by transaction programs on, for example, the IBM system AS/400 to establish a conversation and send and receive data from a partner application, imposes many architectural layers, based upon the Open System Interconnection (OSI) reference model, comprising seven layers: application, presentation, session, transport, network data link and physical. This OSI reference model, and the IBM AS/400 OSI Communications Subsystem/400 implementation thereof, is described in IBM Application System/400 Technology Journal, Version 2, First Edition (January 1992), IBM Publication S325-6020-00, the teachings of which are incorporated herein by reference.
The design of APPC is strictly layered in the sense that upper layers do not access lower layers. With the high overhead of a network communication path length including such layers, latency of user-to-user communication is not getting better at the same rate as the advances in communication link speed. The Distributed Data Management (DDM) support on AS/400 allows application programs to access data files that reside on remote system. Systems that use DDM communicate with each other using advanced program-to-program communication (APPC) support. Using DDM, an application program can get, add, change, and delete data records in a file that exists on a target system. A distributed transaction using the DDM function can also specify the Protected Conversation feature to ensure the integrity of the transaction data. In such a protected conversation, two-phase commit control is used to commit changes to database files or back out those changes for a transaction; that is, if a system failure occurs in the middle of transaction, all the database changes made up to that point are rolled back.
Broadly defined, there are two major types of network communication functions used for distributed transactions: one provides the capability for an attached transaction program to communicate with the other transaction program in an SNA network for sending and receiving data. The other is a DRDA two-phase commit protocol that provides the capability to keep protected resources (such as data bases) in synchronization across a distributed transaction, by committing changes to those resources or backing out the changes.
When an application program on a source system first attempts to access a remote file, it establishes a communication path to a target system with Remote Location Name in the DDM file. In response, an agent job starts on the target system and a DDM conversation is established when the remote system receives the program start request. After the target DDM job is started, the application on the source side initiates a program request to access the remote file.
The APPC protocol keeps the logical network of logical units (LUs) and sessions independent of the physical communication configuration, therefore the PUT and GET operations in the APPC protocol stack are uniform across a wide range of data link controls.
It is an object of the invention to enhance the communication performance for distributed transactions by bypassing a very significant portion of network communication overhead on both source and target systems.
It is a further object of the invention to accomplish this enhanced performance while preserving all APPC architectural requirements and Intersystem Communication Function (ICF)/CPI-C interfaces.
It is a further object of the invention to provide a communications system which will allow generic APPC conversations to be transparently transported across an OptiConnect (OPC) bus between networking multiplexors, or path control layer, (F2) components on each side.
It is a further object of the invention to provide an improved system and method for synchronizing the operation of two communication paths.
It is a further object of the invention to provide two sychronized communication paths, one fast, the other slow, through the same physical link.
In accordance with this invention, a client/server communications system is provided in which each system includes a strictly layered protocol stack for establishing communications and transferring data with respect to the other for a given process. In accordance with one aspect of the invention, a protected conversation method is provided comprising the steps of (1) establishing dual control and data paths from the client system to a single agent on the server system, the control path including a protocol stack and a data path avoiding at least one layer of said protocol stack; (2) transferring packets of control information for a given process on said control path; (3) transferring packets of data information on said data path; and (4) synchronizing communications so that said client and server systems send and receive communications packets on the same one of the two paths.
In accordance with another aspect of the invention, synchronization of communications is achieved by twisting, or blending, two paths by use of a check other path flag and a first crossing after commit flag for switching control between a communication path and a bus path.